﻿using Ninject;
using Ninject.Modules;
using Nx.Bootstrappers;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Nx.Kernel;
using Nx.Shell.ViewModels;

namespace Nx.Shell.RT
{
    public class Bootstrapper : BootstrapperBase
    {
        public Bootstrapper(params INinjectModule[] modules)
            : base(modules)
        {            
        }

        public Bootstrapper(INinjectSettings settings, params INinjectModule[] modules)
            : base(settings, modules)
        {            
        }

        protected override void ConfigureContainer()
        {
            Kernel.RegisterTypeIfMissing<ViewModelLocator>(true);
        }

        protected override IKernel CreateContainer()
        {
            return new NxKernel();
        }
    }
}
